[アップデート]AWS Security HubにAWS Configルールの評価結果を統合できるようになりました
アップデートでSecurity HubにConfigで作成したカスタムルールの評価結果を統合できるようになりました。
AWS Security Hub now receives AWS Config managed and custom rule evaluation results
Security Hubの統合できる製品のドキュメント(英語)に、AWS Config (Sends findings)
が追加されています。
Available AWS service integrations - AWS Security Hub
このアップデートでConfigルールの評価結果がSecurity Hubからも確認できるようになりました。これまでGuardDutyなどのセキュリティサービスが統合されていたSecurity Hubですが、さらにConfigまでカバーしてくれるのは嬉しいですね。
確認してみる
さっそくアップデートでどのように変わったのか見てみましょう。
Security Hubへの統合
コンソールからSecurity Hubの「統合」を確認してみます。統合できるサービスの一覧が表示され、Configの項目がすでにありました。
Configが有効化されているリージョンでは自動で連携されるように設定されているので、特に設定は必要ありません。
Configルールの作成
実際にConfigルールの評価結果をSecurity Hubで確認したいので、お試しでConfigルールを作成していきます。
Configで「EBSデフォルト暗号化が有効化されているか」をチェックするマネージドルール「ec2-ebs-encryption-by-default」を利用してConfigルールを作成しました。(他の設定は全てデフォルト)
作成したConfigルールを手動で「再評価」を実行します。
あらかじめEBSデフォルト暗号化を無効化した環境で試しているので、更新すると非準拠としてリソースが表示されました。
Security Hubから確認してみる
先ほど非準拠となったConfigルールが統合されたSecurity Hubから確認してみます。
最初に確認した「統合」のコンソール画面から「結果を参照」をクリックすると、対象となっているリソースが確認できます。
すでにいくつか統合された評価結果があり、先ほど非準拠となった「ec2-ebs-encryption-by-default」のConfigルールもFailedのステータスで確認できました。
タイトルをクリックすると、結果の詳細を確認することも可能です。
検出結果の詳細
Security Hubへ統合されたConfigルールの評価結果はASFF形式に変換されます。他のサービス統合と同じなので、通知する際にも同じように実装が可能です。
以下はドキュメントに記載されているサンプルです。
Available AWS service integrations - AWS Security Hub
{ "SchemaVersion": "2018-10-08", "Id": "arn:aws:config:eu-central-1:123456789012:config-rule/config-rule-mburzq/finding/45g070df80cb50b68fa6a43594kc6fda1e517932", "ProductArn": "arn:aws:securityhub:eu-central-1::product/aws/config", "ProductName": "Config", "CompanyName": "AWS", "Region": "eu-central-1", "GeneratorId": "arn:aws:config:eu-central-1:123456789012:config-rule/config-rule-mburzq", "AwsAccountId": "123456789012", "Types": [ "Software and Configuration Checks" ], "CreatedAt": "2022-04-15T05:00:37.181Z", "UpdatedAt": "2022-04-19T21:20:15.056Z", "Severity": { "Label": "MEDIUM", "Normalized": 40 }, "Title": "s3-bucket-level-public-access-prohibited-config-integration-demo", "Description": "This finding is created for a resource compliance change for config rule: s3-bucket-level-public-access-prohibited-config-integration-demo", "ProductFields": { "aws/securityhub/ProductName": "Config", "aws/securityhub/CompanyName": "AWS", "aws/securityhub/FindingId": "arn:aws:securityhub:eu-central-1::product/aws/config/arn:aws:config:eu-central-1:123456789012:config-rule/config-rule-mburzq/finding/46f070df80cd50b68fa6a43594dc5fda1e517902", "aws/config/ConfigRuleArn": "arn:aws:config:eu-central-1:123456789012:config-rule/config-rule-mburzq", "aws/config/ConfigRuleName": "s3-bucket-level-public-access-prohibited-config-integration-demo", "aws/config/ConfigComplianceType": "NON_COMPLIANT" }, "Resources": [{ "Type": "AwsS3Bucket", "Id": "arn:aws:s3:::config-integration-demo-bucket", "Partition": "aws", "Region": "eu-central-1", "Details": { "AwsS3Bucket": { "OwnerId": "4edbba300f1caa608fba2aad2c8fcfe30c32ca32777f64451eec4fb2a0f10d8c", "CreatedAt": "2022-04-15T04:32:53.000Z" } } }], "Compliance": { "Status": "FAILED" }, "WorkflowState": "NEW", "Workflow": { "Status": "NEW" }, "RecordState": "ACTIVE", "FindingProviderFields": { "Severity": { "Label": "MEDIUM" }, "Types": [ "Software and Configuration Checks" ] } }
通知の実装をしたい場合、Security Hubを経由するとリージョン集約先だけで実装できるのでおすすめです。以下はGuardDutyの例ですが、Configでも同じイメージで実装できるはずです。
【小ネタ】GuardDuty 通知は Security Hub 経由で行うとリージョン集約ができて便利 | DevelopersIO
おわりに
Security HubがConfigの統合でさらに便利になりました。Configルールでリソース監視を行なっている環境では、通知の実装をシンプルにできるいいアップデートです。ぜひ活用してセキュリティイベントをさらにSecurity Hubで一元管理してみてください。